MacStories Weekly: Issue 35
In this issue: Annotable, Note Taking Apps, Kevin Kennedy’s Home screen, plus the usual Workflow Corner, Tip, Links, and recap of MacStories articles.
MACSTORIES RECOMMENDS
Great apps, accessories, gear, and media recommended by the MacStories team.
Annotable
As someone who reviews apps on a weekly basis and tests betas of upcoming apps every day, I often need to annotate and share screenshots. Whether I have to point out a bug or highlight a feature, image annotations are a common occurrence in my workflow.
After years of half-baked utilities, Annotable has managed to bring all my wishes for image annotations into a single app. Annotable takes the best of Pinpoint, adds the ability to annotate photos in addition to screenshots, and it brings several options for multiple annotation tools that were never offered in the same app at once.
Annotable lets you modify images with a variety of tools: you can add text, choose from different pixelation styles, blur parts of an image, and add shapes such as lines, rectangular selections, and ovals. Each tool can be set to a different color and you can also pick a size and make shapes and lines stand out more with a white stroke around them.
There’s even room for automation: Annotable has been recently updated with the ability to send images to annotate through the clipboard and a URL scheme, which I used to put together a workflow for MacStories Weekly a couple of weeks ago.
Annotable is the image annotation app I’ve always wanted, and I’m going to use it a lot this summer as I work on my iOS 10 review. If you’ve been looking for a powerful image annotation utility to combine multiple tools in a single workflow, you’ll want to take Annotable for a spin.
MACSTORIES COLLECTIONS
Note Taking Apps
GoodNotes
GoodNotes is probably my favorite of the note taking apps in this week’s collection. Sometimes creating a handwritten outline or task list helps me organize my thoughts when I’m writing or working on a project. Other times, I prefer to mark up something I’m editing by hand by writing on a PDF version of it using the Apple Pencil. GoodNotes excels at both and strikes a nice balance between customization options and simplicity.
Like many of its competitors, GoodNotes uses a notebook metaphor. Each notebook can be customized with different covers and papers. Alternatively, you can import a PDF to mark it up. The main tools include a customizable pen that supports Apple Pencil pressure sensitivity, a highlighter, and a lasso for moving selected notes around on a page. The shape recognizer lets you draw shapes, which will snap to a proper shape when drawn. You can also mix and match handwriting with images and typed text.
Notebooks
Notebooks focuses on text input instead of handwriting. Documents can be organized into books or remain standalone documents. Notebooks supports formatted text, plain text, and Markdown syntax and includes a custom keyboard row dedicated to formatting text that goes well beyond the typical note taking app. You can even define styles that can be applied across multiple documents. In addition to rich text editing, Notebooks supports images, video, links, sketches, outlining, and basic task management. Notebooks also has the advantage of being one of the few note taking apps that is available on iOS, Mac, and PC.
OneNote
Microsoft OneNote can do some pretty cool things. It’s a little bit like a combination of GoodNotes and Notebooks. Drawing supports Apple Pencil pressure sensitivity like GoodNotes, but OneNote is also great at text and has the largest array of objects that can be embedded in a document of any of the apps in this collection.
OneNote divides the world into notebooks like the other apps covered here, but adds a sublayer of organization by allowing notebooks to be divided into sections, which have pages. Unlike many of the other apps in this collection, OneNote does not stick to a skeuomorphic representation of a notebook. Instead, OneNote has sections that are organized as tabs across the top of a notebook, with pages organized along the left edge. In addition to drawing and adding typed text anywhere on a OneNote notebook page, you can embed links, audio recordings, images, movies, PDFs, documents, tables, dates, and equations.
Notability
Notability has the advantage of being available on the iPhone, iPad, and Mac. Pen colors and settings are not as customizable as some other apps, but it too supports the Apple Pencil’s pressure sensitivity. Notability’s focus is on handwriting and drawing, but it also supports audio recordings and images. Unlike other apps Notability lets you embed web clips and ‘sticky’ notes on notebook pages. Notability syncs between devices with iCloud and backs up to Dropbox, Google Drive, Box, and WebDAV.
Noteshelf
Noteshelf is a great-looking, powerful iPad-only app with highly-customizable notebook covers and papers. In addition to taking notes, Noteshelf lets you insert audio files, photos, and shapes like some other apps as well as a subset of emoji and includes a tagging system. Noteshelf also supports marking up PDFs. The ink engine used by Noteshelf is excellent, though slightly laggy. Just this past February, Noteshelf added Apple Pencil support for iPad Pro users, but the app works well with a variety of other styli too, some of which are featured on Noteshelf’s website.
Notes Plus
Notes Plus is an iPad-only app that has four styles of writing implements for taking notes with multiple settings for each that can be adjusted. One nice touch is that the settings view includes a sample of what your writing will look like as each setting is adjusted. Notes Plus also has numerous preset ink styles from which to choose and more shapes than most other apps. Handwriting can be erased with an eraser tool or simply by scratching out your writing, which I like, and you can convert handwriting into text, but it does not support Apple Pencil pressure sensitivity. Notes Plus also supports text input, but only from the top of the page down – you cannot insert a text box in an arbitrary location on a page like you can with some other apps.
TIPS
Tips and tricks to master your apps and be more productive.
At this point most websites work fine on Safari for iOS, but occasionally (as I discovered this week) some still offer up a very dated and incomplete mobile interface, with no clear option of how to get the “full” website. Fortunately, Safari has the ability to change its user agent to trick the website into loading the desktop version. Just tap the Share button and within the list of action extensions, scroll until you find the “Request Desktop Site” button. Tap it, and Safari will reload the tab as if you had requested it on Safari for the Mac. (You can also tap & hold the refresh icon in the address bar to bring up the option.)
Speaking of the iOS share sheet, remember that you can move the icons around by tapping and holding on an icon until it starts wiggling. It’s works almost exactly like re-arranging your iOS Home screen icons.
SHORTCUTS CORNER
Get help and suggestions for your iOS shortcuts and productivity apps.
Member Requests
Question: Is there a way to use Workflow to access the Club MacStories archive and make a PDF from each of the underlying links? I’d love to have all of the Club MacStories content archived as PDFs in Evernote. (Dex Cure, @dexcure)
Thanks to Workflow’s Content Graph engine, it’s easy to go from a webpage selection to a list of links and then to a PDF that is intelligently generated from the source webpage.
All you need to do is go to our Club Archive page in Safari, select the issues you’d like to save as PDF, and run the workflow. Workflow will see each issue link and convert the web version to a PDF you can read offline in other apps. By default, each PDF will be saved to Dropbox thanks to a repeat block, but you can save the files somewhere else if you prefer.
You can download the workflow here.
Question: I’d like to cross-post Safari webpages to both Twitter and Facebook from time to time but I can’t figure out the best Workflow to accomplish this.
Ideally, the result will look like:
“Article Title”
Link
Any way to accomplish this? (John, @DevilDog_Doc)
The key trick here is to run a workflow inside the action extension from Safari and to use the ‘Get Details of Safari Webpage’ action to extract the information we want to compose the final message. Specifically, we need to extract the webpage’s title and URL as two separate variables, and then combine them in a single message to share on Twitter and Facebook.
With this workflow, you’ll be able to edit the final message before posting it because both Twitter and Facebook use the system compose sheets, which require you to confirm the message before sharing it. If you want to modify the post’s template, just edit the Text action.
You can download the workflow here.
Question: I want to convert a list of names in Drafts from “Last name, First name” format to “First name Last name format”. Can you give me some pointers? (Anonymous)
Assuming that you have a list of names where the last name is always separated by the first name with a comma, we can use the improved regex support in Workflow 1.5 to match both parts of a name, invert their position, and build a new list.
First, you have to decide whether you want to run this workflow as an action extension from Drafts or if you prefer to copy and paste the list of names into Workflow. For simplicity’s sake, I pasted a bunch of random names in a Text action at the top of the workflow, and I’d suggest doing the same for your list of names if possible so you can debug possible errors more quickly.
The workflow iterates through every line of text and scans for words separated by a comma. Anything before the comma is the last name, and everything after is the first name. Thanks to a repeat block, the workflow inverts them by constructing a new variable, which is saved to an empty list.
The workflow uses regex groups for first and last names to accomplish this, and at the end the result is copied to the clipboard. If you want to run this workflow as an extension, just make sure to pass the list of names as input text from Drafts.
You can download the workflow here.
Question: Is there any “Download Twitter videos” workflow that works? Nothing I’ve tried works properly. (Enrique Sanz, @enriquesanz)
Alas, I haven’t come across a solution that has consistently worked for me either. I assume there has to be some way to do this through the Twitter API, which I don’t think can be accessed with Workflow alone. Maybe I should consider trying with the twitter module in Editorial soon…
Question: Is there a way to convert a single-page PDF file into an image file (e.g. to add it to the camera roll for posting on Twitter) on iOS? (Marina, @marinaepelman)
This still isn’t possible with Workflow, Marina. I replied a while back (Issue 21) to a question about converting PDFs to images, and it seems like those apps are still our best option on iOS.
Question: I’m looking to create a Workflow that lets me select a contact, then create a reminder in Due that ultimately opens a pre-populated text message addressed to said contact. So, the workflow would ask for: a contact, a message/reminder, and a due date (time and date). This would all get sent to Due via their URL scheme.
Then, upon marking the reminder as complete in Due, I’d like it to trigger a text message addressed to my chosen contact with the reminder message I entered earlier as the body of the text.
I think this is possible, I’m just not 100% sure on how to put it all together. (David Zumini, @davidzumini)
This was a fun one to tackle because it allowed me to experiment with the Workflow URL scheme and it pushed me to find a way to integrate two different action flows – create a Due reminder and send an iMessage – in a single workflow.
The workflow is structured so that when launched form the Workflow app itself, there’s no text passed as input. You’ll be asked to pick a contact from your address book, enter a reminder text, a due date, and you’ll be taken to Due to save the pre-filled reminder. Once saved, Due will ask you to return to Workflow; do it, and you will automatically exit the workflow.
A few assumptions I made:
- The workflow picks one contact from your address book and it returns their phone numbers; if phone number isn’t okay, change the ‘Get Details of Contacts’ action to email instead of phone number;
- There’s a list of pre-composed messages to choose from; you have to change this list to the messages you want to send;
- The date has to be formatted in natural language for best results, as supported by Due.
As you can see, the reminder that is created in Due contains a workflow:// URL to launch the same workflow you use to create the reminder. Which brings me to what I mentioned about input text at the beginning of the workflow.
Thanks to the Workflow URL scheme, we can invoke a specific workflow and pass some URL-encoded text to it with an input parameter. That text will be decoded on the fly by the workflow and saved to a variable. At that point, my workflow counts the items contained in the variable: if the count equals 0, it means the variable is empty and therefore no text is contained in it, which means you ran the workflow without launching it from Due. If it equals 1, though, it means there’s some input text in it, which we can use to take a different route and assemble the message you want to send.
When I realized I could use the URL scheme to pass different information to the same workflow, however, I ran into a problem: how would I embed information passed from a previous run of the workflow to the same workflow again?
My solution isn’t the most elegant one, but it works: the contact information and the pre-filled message text is embedded in the URL scheme itself, with a &&SEPARATOR&& line to separate the recipient’s phone number from the message text. The workflow splits the input text at the custom separator, returns a list, and uses the first item of the list (phone number or email address) to select the recipient, and the last item as the message text. At the end, an iMessage window comes up with the recipient and text already filled in.
To sum up, here’s what one complex workflow gives you:
- Run the workflow and create a reminder in Due for a contact to text later;
- Go on with your life;
- Complete the reminder, which takes you to Workflow and prepares the message for you.
You can download the workflow here.
And now, a suggestion from Club member Denken about a cookie question (alas, less delicious than it sounds) from Issue 34 of MacStories Weekly:
[[suggestion]]
Not sure what and how exactly you’d like to do it, but there are at least 3 ways to get cookie information out of webpage programmatically:
- Write an app with webView, get cookie with NSHTTPCookieStorage.sharedHTTPCookieStorage();
- Write an app (Action extension, get cookie with JavaScript), and launch the action extension in iOS Safari;
- Add bookmark to iOS Safari, and change its address to JavaScript code that gets the cookie.
(Denken, @denkeni)
WEEKLY Q&A
Your weekly correspondence with the MacStories team.
No Weekly Q&A this week, but we’re taking questions for next week, so be sure to send one or two questions to us using the below link!
Have you got a question for the MacStories team? If you do, you can submit it here. Your question can be about almost anything, it doesn’t need to be related to iOS or Apple.
INTERESTING LINKS
Great reads and links from around the web.
Tim Nahumck has figured out a way to automate the creation of MultiMarkdown tables with Workflow. Clever.
Speaking of Workflow, the Workflow Directory by Jordan Merrick has received significant improvements, including a workflow to submit workflows. Quite meta.
The Iconfactory has added a tip jar to its Twitterrific app for iOS, so you can show your support with optional patronage.
Using the iPad Pro as a web developer.
The Alfred emoji pack wants to make it easy to insert emoji anywhere on OS X by mirroring the way they can be typed with shortcuts on Slack. This seems like a great idea.
An interesting proposal by Linus Edwards for a Siri interface that works in the background and doesn’t take over what you’re doing.
Apple Music has new ‘Breaking’ playlists to discover some of the hottest new tracks released recently.
Twitter has added native support for Spotify links with audio cards. The new cards will play 30-second previews that will link to a full song on Spotify.
Echosim.io emulates an Amazon Echo in the browser. Pretty cool use of the Alexa web services.
APP DEBUTS
Noteworthy new app releases and updates, handpicked by the MacStories team.
iShows Games
Based on the excellent iShows for iOS, iShows Games lets you keep track of upcoming videogame releases for multiple platforms. You can mark games as played or favorite, organize your library, and add new entries thanks to the Giant Bomb game database.
Charm
Collections are a great Twitter feature to collect and organize related tweets. However, the official Twitter apps don’t come with tools to collect tweets on iOS. Charm is a free iOS extension that makes it simple to send tweets to new or existing collections, and it works well from any app that shares tweets with the share sheet, such as Tweetbot or Safari.
Iconic
Iconic is a new game by iA (makers of the popular iA Writer app) that lets you shoot down classic app icons in a retro arcade environment. The game has 20 levels with 20 bosses, it works with Game Center, and it’s one of the most original uses of icons I’ve seen in a while.
Frame.io
The Frame.io video collaboration service now has a native iPhone app to easily collaborate on video projects with your teammates. The iPhone app has some unique features such as time-based comments and annotations, the ability to loop frames around comments, and 3D Touch support for previews.
STRAW POLL
Opinions on Apple and technology generally, from Club MacStories members.
iOS 10 Wishes
Written Responses
A selection of just some “pie in the sky” ideas and wishes for iOS 10:
- Home screen widgets
- The ability to change default apps
- Xcode for iOS
- File manager
- Completely re-think the Home screen layout/design
- Micro-payments in Messages
- Handwriting recognition
- Gift in-app purchases
- Trackpad support
- The ability for the Home screen to adjust based on time and location
- More/unlimited cloud storage
HOME SCREENS
Friends of MacStories share their iPhone, iPad, and Apple Watch Home screens.
Kevin Kennedy
Twitter: @kkampsdesk. Club MacStories Member
Reminders/Tasks
I like my main screen to be multi-purpose, allowing me to utilize apps for various tasks through the day.
When it comes to using the default Reminders app, it’s mostly as I begin to decide what level of attention a task needs; if it is low priority I won’t create a new task in OmniFocus, simply because I use Omni’s app for major tasks from day to day. A lot of the tasks I have dedicated to OmniFocus are the ones that are recurring in my life – the ones I need to stay on top of constantly – and I can take advantage of passing certain tasks to other apps. If the need to pass a task to another app exists, either a workflow or a Pythonista script will handle it well enough.
Ideas
For gathering my ideas and source material I like to use Evernote, and Paper by 53. Evernote having more dedicated project notebooks, and Paper being more free to put anything anywhere, but allowing me to have a creative outlet for brainstorming.
Another app I use for framing my ideas with the source materials I collected is Mindly, allowing me to map out my thoughts a little clearer. I find myself using these more with my writing projects than actual tasks, but they are used frequently enough to merit them being on my Home screen.
Completing tasks/Project Goals
I deal with organizing orders, sometimes having to analyze what needs to be ordered, and submitting adjustments to the person who sends the orders in, so I typically start in Drafts, and pass it over to Ulysses to polish up the order request, and from there just share it as a PDF.
I also give presentations from time to time, so I use Ummo to practice beforehand making sure I don’t have too many filler words in my speech. Having Ulysses in this workflow helps transitioning into writing outlines for the presentations I give.
While doing this work I will often listen to podcasts. Listening to podcasts helps me refine my workflow.
Once certain tasks are finished, I can pass along my progress through Slack, even having the ability to assign my completed task to someone else to pick up where they need too.
I have chosen to use Dispatch as my email client mainly because of its support for x-callback-url, plus the already existing support for many of my other apps.
I find myself frequently using Markdown in my tasks so the support of Markdown formatting is crucial for my apps; a lot of the scripting I do in Python has to do with Markdown and using x-callback-urls. I use Launcher to switch between apps, and the ability for different launchers to appear depending on my location helps me form an app list that is relevant to me at any given time.
My workflow seems to be evolving as I learn more about URL schemes, and I also write better scripts in Pythonista. Having been on iOS for a little over a month now, I find these apps have a perfect fit for my needs. Most of the apps on my Home screen have been featured on MacStories Weekly, which has been invaluable for my introduction to iOS.
If you think you have an interesting iPhone or iPad Home screen, please feel free to submit it! Simply attach a screenshot of your Home screen and in one or two sentences explain what makes it interesting. Please do not send us a full description, we will contact you if we want to feature your Home screen.